package com.ctshk.rpc.order.train.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 巴士票订单列表dto
 * </p>
 *
 * @author 彭柳霖
 * @since 2021-02-09
 */
@Data
@ApiModel(value="BusOrderPageDto对象", description="巴士票订单列表dto")
public class TrainOrderPageDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "巴士票订单id")
    private Long id;

    @ApiModelProperty(value = "销售单号")
    private String orderNumber;

    @ApiModelProperty(value = "产品类型")
    private Integer productType;

    @ApiModelProperty(value = "产品类型名称(人工录入,API产品)")
    private String productTypeName;

    @ApiModelProperty(value = "铁路公司名称")
    private String railwayCorporationName;

    @ApiModelProperty(value = "车次名称")
    private String trainNumberName;

    @ApiModelProperty(value = "出发城市名称")
    private String departureCityName;

    @ApiModelProperty(value = "到达城市名称")
    private String arriveCityName;

    @ApiModelProperty(value = "上车站名称")
    private String boardingStationName;

    @ApiModelProperty(value = "下车站点名称")
    private String alightingStationName;

    @ApiModelProperty(value = "坐席等级名称")
    private String seatLevelName;

    @ApiModelProperty(value = "订单金额")
    private BigDecimal orderAmount;

    @ApiModelProperty(value = "付款状态")
    private Integer paymentStatus;

    @ApiModelProperty(value = "付款状态名称")
    private String paymentStatusName;

    @ApiModelProperty(value = "预订状态")
    private Integer scheduledStatus;

    @ApiModelProperty(value = "预订状态名称")
    private String scheduledStatusName;

    @ApiModelProperty(value = "联系人姓名")
    private String contactName;

    @ApiModelProperty(value = "来源")
    private Integer source;

    @ApiModelProperty(value = "来源名称")
    private String sourceName;

    @ApiModelProperty(value = "销售人员名称")
    private String salesmanName;

    @ApiModelProperty(value = "创建时间")
    private LocalDateTime gmtCreate;

    @ApiModelProperty(value = "付款到期时间,时分")
    @JsonFormat(timezone = "GMT+8", pattern = "HH:mm")
    private LocalDateTime payExpireDate;

    @ApiModelProperty(value = "是否超时,0否(初始),1是")
    private Integer isExpire = 0;

    @ApiModelProperty(value = "创建人")
    private Long createId;
}
